
public class Buzon {
	
	private int numCorreos;
	private boolean noLeidos, creado;
	private Correo correos[];
	
	//constructor de buzon con 10 huecos
	public Buzon () {
		correos = new Correo[10];
	}
	
	//constructor de buzon con n huecos
	public Buzon(int tamano) {
		correos = new Correo[tamano];
	}
	
	//(GET) devuelve cantidad de correos en el buzon
	public int numeroDeCorreos() {
		return this.numCorreos;
	}
	
	//anade un mensaje (instanciado fuera) al buzon
	public void anade(Correo c) {
		for (int i = 0; i < correos.length && creado == false; i++) {
			if (correos[i] == null) {
				correos[i] = c;
				creado = true;
				numCorreos++;			
			}
		}
		creado = false;
	}
	
	//muestra si hay mensajes sin leer
	public boolean porLeer() {
		for (int i = 0; i < correos.length; i++) {
			if (correos[i] != null) {
				if (correos[i].getLeido() == false) {
					noLeidos = true;
				}
			}
		}
		return noLeidos;
	}
	
	//muestra el contenido del primer mensaje no leido
	public String muestraPrimerNoLeido() {
		String salida = "";
		for (int i = 0; i < correos.length; i++) {
			if (correos[i] != null) {
				if (correos[i].getLeido() == false) {
					correos[i].setLeido(true);
					salida = correos[i].getContenido();
					break;
				}
			}
		}
		if (salida.equals("")) {
			salida = "No hay mensajes sin leer";
		}
		return salida;
	}
	
	//muestra el contenido del mensaje n
	public String muestra(int k) {
		correos[k].setLeido(true);			
		return correos[k].getContenido();
	}
	
	//elimina el mensaje n
	public void elimina(int k) {
		correos[k] = null;
		this.quitaHueco();
		this.numCorreos--;
	}
	
	//metodo para quitar todos los huecos del buzon que no esten al final (junta los mensajes en las primeras posiciones)
	public void quitaHueco() {
		for (int i = correos.length - 1; i >= 1; i--) {
			if (correos[i] != null) {
				if (correos[i-1] == null) {
					correos[i-1] = correos[i];
					correos[i] = null;
				}
			}
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Buzon b1 = new Buzon ();
		Correo c1 = new Correo("a");
		Correo c2 = new Correo("b");
		Correo c3 = new Correo("c");
		Correo c4 = new Correo("d");
		Correo c5 = new Correo("e");
		b1.anade(c1);
		b1.anade(c2);
		b1.anade(c3);
		b1.anade(c4);
		b1.anade(c5);
		
		b1.elimina(1);
		b1.elimina(3);

		System.out.println(b1.muestra(0));
		System.out.println(b1.muestra(1));
		System.out.println(b1.muestra(2));

		
	
		
		

	}

}
